package com.snpic.appaw.module.insure.dal.dataobject.customer;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.snpic.appaw.framework.mybatis.core.dataobject.BaseDO;

/**
 * 用户信息 DO
 *
 * @author jijun
 */
@TableName("e_customer")
@KeySequence("e_customer_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CustomerDO extends BaseDO {

    /**
     * 主键id
     */
    @TableId
    private Long id;
    /**
     * 用户名
     */
    private String name;
    /**
     * 密码
     */
    private String password;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 编码
     */
    private String code;
    /**
     * 用户类型 1-个人用户 2-团体用户
     */
    private String type;
    /**
     * 0-无效或暂停 1-有效  默认为:1 2-被合并
     */
    private String status;
    /**
     * 性别 1-男 2-女
     */
    private String sex;
    /**
     * 生日
     */
    private LocalDateTime birthday;
    /**
     * 证件类型,01-身份证
     */
    private String idType;
    /**
     * 证件号
     */
    private String idNo;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 座机号
     */
    private String telephone;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 地址
     */
    private String address;
    /**
     * 邮编
     */
    private String zip;
    /**
     * 用户来源：01-APP注册;02-微信注册;03-官网注册;04-邀请注册;05-微信邀请注册;06-移动官网注册
     */
    private String customerSource;
    /**
     * 手机认证状态 0-未认证 1-已认证
     */
    private String mobileAuth;
    /**
     * 邮箱认证状态 0-未认证 1-已认证
     */
    private String emailAuth;
    /**
     * 实名认证状态 0-未认证 1-已认证
     */
    private String idAuth;
    /**
     * 实名认证来源：101-官网；102-微信小程序；103-APP;104-微信公众号；105-微信分享；106-移动官网； 002、tianiosSecretKeyan-苹果; 001、tianandroidSecretKeyan-安卓
     */
    private String idAuthSource;
    /**
     * 主账户ID
     */
    private String masterCustomerId;
    /**
     * 所在省code
     */
    private String provinceCode;
    /**
     * 所在市code
     */
    private String cityCode;
    /**
     * 推荐人手机号/ID(已废弃)
     */
    private String refereeId;
    /**
     * 昵称
     */
    private String nickName;
    /**
     * 资格证号
     */
    private String agentNo;
    /**
     * 兑换密码
     */
    private String exchangePwd;
    /**
     * 部门id
     */
    private Long departmentId;
    /**
     * 推荐人级别
     */
    private Long recommendLevel;
    /**
     * 能发展的下级的最大值(配置表取)
     */
    private Long maxNumber;
    /**
     * 客户来源
     */
    private String channelType;
    /**
     * 频道代码
     */
    private String channelCode;
    /**
     * 注册日期
     */
    private LocalDateTime registerDate;
    /**
     * 是否APP登录（适用于消息推送）：1-是；0-否
     */
    private String flag;
    /**
     * sign_days
     */
    private Long signDays;
    /**
     * honour_level
     */
    private String honourLevel;
    /**
     * user_level
     */
    private Long userLevel;
    /**
     * if_change
     */
    private String ifChange;
    /**
     * is_valid
     */
    private String isValid;
    /**
     * 微信id
     */
    private String openId;
    /**
     * 用户头像
     */
    private String headImage;
    /**
     * 银行账号
     */
    private String bankNo;
    /**
     * 剩余抽奖次数
     */
    private Long drawsAmount;
    /**
     * 实名时间
     */
    private LocalDateTime authDate;
    /**
     * 实名供应商，MANUAL-人工
     */
    private String authSupplier;
    /**
     * openId更新时间
     */
    private LocalDateTime openidChangeTime;
    /**
     * 绑定状态，确认openid是否绑定  0/空-待确认  1-已确认
     */
    private String bindStatus;
    /**
     * 原始oracle中的id，用于数据迁移
     */
    private Long oldId;


}